FHIR © HL7.org  |  Server Home  |  FHIR Server FHIR Server 3.4.11  |  FHIR Version n/a  User: [n/a]

Resource OperationDefinition/FHIR Server from package hl7.fhir.uv.cql#current (32 ms)

Package hl7.fhir.uv.cql
Type OperationDefinition
Id Id
FHIR Version R4
Source http://hl7.org/fhir/uv/cql/https://build.fhir.org/ig/HL7/cql-ig/OperationDefinition-cql-library-evaluate.html
Url http://hl7.org/fhir/uv/cql/OperationDefinition/cql-library-evaluate
Version 1.1.0-cibuild
Status active
Date 2023-11-27T16:26:11+00:00
Name CQLLibraryEvaluate
Title CQL Library Evaluate
Experimental False
Realm uv
Authority hl7
Description Evaluates the contents of a library and returns the results as a Parameters resource.
Purpose This operation is defined to support evaluating the contents of a library directly via an operation
Type true
Kind operation

Resources that use this resource

CapabilityStatement
cql-evaluation-service CQL Evaluation Service

Resources that this resource uses

No resources found



Narrative

Note: links and images are rebased to the (stated) source

URL: [base]/Library/$evaluate

URL: [base]/Library/[id]/$evaluate

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
INlibrary0..1canonical

The canonical url (with optional version) of the library to be evaluated. This parameter is only used when the operation is invoked at the type level.

INsubject0..1string
(reference)

Subject for which the library will be evaluated. This corresponds to the context in which the library will be evaluated and is represented as a relative FHIR id (e.g. Patient/123), which establishes both the context and context value for the evaluation

INexpression0..*string

Expression(s) to be evaluated. If no expression names are provided, the operation evaluates all public expression definitions in the library.

INparameters0..1Parameters

Any input parameters for the library. Parameters defined in this input will be bound by name to parameters defined in the CQL library (or referenced libraries). Parameter types are mapped to CQL as specified in the Using CQL section of this implementation guide. If a parameter appears more than once in the input Parameters resource, it is represented with a List in the input CQL. If a parameter has parts, it is represented as a Tuple in the input CQL.

INuseServerData0..1boolean

Whether to use data from the server performing the evaluation. If this parameter is true (the default), then the operation will use data first from any bundles provided as parameters (through the data and prefetch parameters), second data from the server performing the operation, and third, data from the dataEndpoint parameter (if provided). If this parameter is false, the operation will use data first from the bundles provided in the data or prefetch parameters, and second from the dataEndpoint parameter (if provided).

INdata0..1Bundle

Data to be made available to the library evaluation. This parameter is exclusive with the prefetchData parameter (i.e. either provide all data as a single bundle, or provide data using multiple bundles with prefetch descriptions).

INprefetchData0..*

Data to be made available to the library evaluation, organized as prefetch response bundles. Each prefetchData parameter specifies either the name of the prefetchKey it is satisfying, a DataRequirement describing the prefetch, or both.

INprefetchData.key0..1string

The key of the prefetch item. When using this operation as part of a CDS Hooks implementation, this SHALL be the name of a prefetch item in a CDS Hooks discovery response. Prefetch data SHALL be made available to retrieve statements in the CQL and SHOULD NOT be provided as the value of any CQL parameters in the library being evaluated to avoid confusion between context parameters and retrieve data.

INprefetchData.descriptor0..1DataRequirement

A DataRequirement describing the content of the prefetch item.

INprefetchData.data0..1Bundle

The prefetch data as a Bundle. If this part is missing, it indicates there is no data associated with this prefetch item.

INdataEndpoint0..1Endpoint

An endpoint to use to access data referenced by retrieve operations in the library. If provided, this endpoint is used after the data or prefetchData bundles, and the server, if the useServerData parameter is true.

INcontentEndpoint0..1Endpoint

An endpoint to use to access content (i.e. libraries) referenced by the library. If no content endpoint is supplied, the evaluation will attempt to retrieve content from the server on which the operation is being performed.

INterminologyEndpoint0..1Endpoint

An endpoint to use to access terminology (i.e. valuesets, codesystems, and membership testing) referenced by the library. If no terminology endpoint is supplied, the evaluation will attempt to use the server on which the operation is being performed as the terminology server.

OUTreturn1..1Parameters

The results of the library evaluation, returned as a Parameters resource with a parameter for each named expression requested by the expression input parameter (or all public expressions defined in the library if no expression input parameter was specified). Note that explicit request for evaluation of an expression does not respect the access modifier (i.e. even private expressions can be evaluated by directly requesting evaluation of the expression by name).


Source

{
  "resourceType" : "OperationDefinition",
  "id" : "cql-library-evaluate",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/Library/$evaluate</p><p>URL: [base]/Library/[id]/$evaluate</p><p>Parameters</p><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>library</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#canonical\">canonical</a></td><td/><td><div><p>The canonical url (with optional version) of the library to be evaluated. This parameter is only used when the operation is invoked at the type level.</p>\n</div></td></tr><tr><td>IN</td><td>subject</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a><br/>(<a href=\"http://hl7.org/fhir/R4/search.html#reference\">reference</a>)</td><td/><td><div><p>Subject for which the library will be evaluated. This corresponds to the context in which the library will be evaluated and is represented as a relative FHIR id (e.g. Patient/123), which establishes both the context and context value for the evaluation</p>\n</div></td></tr><tr><td>IN</td><td>expression</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>Expression(s) to be evaluated. If no expression names are provided, the operation evaluates all public expression definitions in the library.</p>\n</div></td></tr><tr><td>IN</td><td>parameters</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/parameters.html\">Parameters</a></td><td/><td><div><p>Any input parameters for the library. Parameters defined in this input will be bound by name to parameters defined in the CQL library (or referenced libraries). Parameter types are mapped to CQL as specified in the Using CQL section of this implementation guide. If a parameter appears more than once in the input Parameters resource, it is represented with a List in the input CQL. If a parameter has parts, it is represented as a Tuple in the input CQL.</p>\n</div></td></tr><tr><td>IN</td><td>useServerData</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Whether to use data from the server performing the evaluation. If this parameter is true (the default), then the operation will use data first from any bundles provided as parameters (through the data and prefetch parameters), second data from the server performing the operation, and third, data from the dataEndpoint parameter (if provided). If this parameter is false, the operation will use data first from the bundles provided in the data or prefetch parameters, and second from the dataEndpoint parameter (if provided).</p>\n</div></td></tr><tr><td>IN</td><td>data</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td><div><p>Data to be made available to the library evaluation. This parameter is exclusive with the prefetchData parameter (i.e. either provide all data as a single bundle, or provide data using multiple bundles with prefetch descriptions).</p>\n</div></td></tr><tr><td>IN</td><td>prefetchData</td><td/><td>0..*</td><td></td><td/><td><div><p>Data to be made available to the library evaluation, organized as prefetch response bundles. Each prefetchData parameter specifies either the name of the prefetchKey it is satisfying, a DataRequirement describing the prefetch, or both.</p>\n</div></td></tr><tr><td>IN</td><td>prefetchData.key</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>The key of the prefetch item. When using this operation as part of a CDS Hooks implementation, this SHALL be the name of a prefetch item in a CDS Hooks discovery response. Prefetch data SHALL be made available to retrieve statements in the CQL and SHOULD NOT be provided as the value of any CQL parameters in the library being evaluated to avoid confusion between context parameters and retrieve data.</p>\n</div></td></tr><tr><td>IN</td><td>prefetchData.descriptor</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/metadatatypes.html#DataRequirement\">DataRequirement</a></td><td/><td><div><p>A DataRequirement describing the content of the prefetch item.</p>\n</div></td></tr><tr><td>IN</td><td>prefetchData.data</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></td><td/><td><div><p>The prefetch data as a Bundle. If this part is missing, it indicates there is no data associated with this prefetch item.</p>\n</div></td></tr><tr><td>IN</td><td>dataEndpoint</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/endpoint.html\">Endpoint</a></td><td/><td><div><p>An endpoint to use to access data referenced by retrieve operations in the library. If provided, this endpoint is used after the data or prefetchData bundles, and the server, if the useServerData parameter is true.</p>\n</div></td></tr><tr><td>IN</td><td>contentEndpoint</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/endpoint.html\">Endpoint</a></td><td/><td><div><p>An endpoint to use to access content (i.e. libraries) referenced by the library. If no content endpoint is supplied, the evaluation will attempt to retrieve content from the server on which the operation is being performed.</p>\n</div></td></tr><tr><td>IN</td><td>terminologyEndpoint</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/endpoint.html\">Endpoint</a></td><td/><td><div><p>An endpoint to use to access terminology (i.e. valuesets, codesystems, and membership testing) referenced by the library. If no terminology endpoint is supplied, the evaluation will attempt to use the server on which the operation is being performed as the terminology server.</p>\n</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/parameters.html\">Parameters</a></td><td/><td><div><p>The results of the library evaluation, returned as a Parameters resource with a parameter for each named expression requested by the expression input parameter (or all public expressions defined in the library if no expression input parameter was specified). Note that explicit request for evaluation of an expression does not respect the access modifier (i.e. even private expressions can be evaluated by directly requesting evaluation of the expression by name).</p>\n</div></td></tr></table></div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger" : 3
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode" : "cds"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode" : "trial-use"
    }
  ],
  "url" : "http://hl7.org/fhir/uv/cql/OperationDefinition/cql-library-evaluate",
  "version" : "1.1.0-cibuild",
  "name" : "CQLLibraryEvaluate",
  "title" : "CQL Library Evaluate",
  "status" : "active",
  "kind" : "operation",
  "experimental" : false,
  "date" : "2023-11-27T16:26:11+00:00",
  "publisher" : "HL7 International / Clinical Decision Support",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/dss"
        }
      ]
    }
  ],
  "description" : "Evaluates the contents of a library and returns the results as a Parameters resource.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001",
          "display" : "World"
        }
      ]
    }
  ],
  "purpose" : "This operation is defined to support evaluating the contents of a library directly via an operation",
  "affectsState" : false,
  "code" : "evaluate",
  "resource" : [
    "Library"
  ],
  "system" : false,
  "type" : true,
  "instance" : true,
  "parameter" : [
    {
      "name" : "library",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The canonical url (with optional version) of the library to be evaluated. This parameter is only used when the operation is invoked at the type level.",
      "type" : "canonical"
    },
    {
      "name" : "subject",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Subject for which the library will be evaluated. This corresponds to the context in which the library will be evaluated and is represented as a relative FHIR id (e.g. Patient/123), which establishes both the context and context value for the evaluation",
      "type" : "string",
      "searchType" : "reference"
    },
    {
      "name" : "expression",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Expression(s) to be evaluated. If no expression names are provided, the operation evaluates all public expression definitions in the library.",
      "type" : "string"
    },
    {
      "name" : "parameters",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Any input parameters for the library. Parameters defined in this input will be bound by name to parameters defined in the CQL library (or referenced libraries). Parameter types are mapped to CQL as specified in the Using CQL section of this implementation guide. If a parameter appears more than once in the input Parameters resource, it is represented with a List in the input CQL. If a parameter has parts, it is represented as a Tuple in the input CQL.",
      "type" : "Parameters"
    },
    {
      "name" : "useServerData",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Whether to use data from the server performing the evaluation. If this parameter is true (the default), then the operation will use data first from any bundles provided as parameters (through the data and prefetch parameters), second data from the server performing the operation, and third, data from the dataEndpoint parameter (if provided). If this parameter is false, the operation will use data first from the bundles provided in the data or prefetch parameters, and second from the dataEndpoint parameter (if provided).",
      "type" : "boolean"
    },
    {
      "name" : "data",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Data to be made available to the library evaluation. This parameter is exclusive with the prefetchData parameter (i.e. either provide all data as a single bundle, or provide data using multiple bundles with prefetch descriptions).",
      "type" : "Bundle"
    },
    {
      "name" : "prefetchData",
      "use" : "in",
      "min" : 0,
      "max" : "*",
      "documentation" : "Data to be made available to the library evaluation, organized as prefetch response bundles. Each prefetchData parameter specifies either the name of the prefetchKey it is satisfying, a DataRequirement describing the prefetch, or both.",
      "part" : [
        {
          "name" : "key",
          "use" : "in",
          "min" : 0,
          "max" : "1",
          "documentation" : "The key of the prefetch item. When using this operation as part of a CDS Hooks implementation, this SHALL be the name of a prefetch item in a CDS Hooks discovery response. Prefetch data SHALL be made available to retrieve statements in the CQL and SHOULD NOT be provided as the value of any CQL parameters in the library being evaluated to avoid confusion between context parameters and retrieve data.",
          "type" : "string"
        },
        {
          "name" : "descriptor",
          "use" : "in",
          "min" : 0,
          "max" : "1",
          "documentation" : "A DataRequirement describing the content of the prefetch item.",
          "type" : "DataRequirement"
        },
        {
          "name" : "data",
          "use" : "in",
          "min" : 0,
          "max" : "1",
          "documentation" : "The prefetch data as a Bundle. If this part is missing, it indicates there is no data associated with this prefetch item.",
          "type" : "Bundle"
        }
      ]
    },
    {
      "name" : "dataEndpoint",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "An endpoint to use to access data referenced by retrieve operations in the library. If provided, this endpoint is used after the data or prefetchData bundles, and the server, if the useServerData parameter is true.",
      "type" : "Endpoint"
    },
    {
      "name" : "contentEndpoint",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "An endpoint to use to access content (i.e. libraries) referenced by the library. If no content endpoint is supplied, the evaluation will attempt to retrieve content from the server on which the operation is being performed.",
      "type" : "Endpoint"
    },
    {
      "name" : "terminologyEndpoint",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "An endpoint to use to access terminology (i.e. valuesets, codesystems, and membership testing) referenced by the library. If no terminology endpoint is supplied, the evaluation will attempt to use the server on which the operation is being performed as the terminology server.",
      "type" : "Endpoint"
    },
    {
      "name" : "return",
      "use" : "out",
      "min" : 1,
      "max" : "1",
      "documentation" : "The results of the library evaluation, returned as a Parameters resource with a parameter for each named expression requested by the expression input parameter (or all public expressions defined in the library if no expression input parameter was specified). Note that explicit request for evaluation of an expression does not respect the access modifier (i.e. even private expressions can be evaluated by directly requesting evaluation of the expression by name).",
      "type" : "Parameters"
    }
  ]
}

XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.